<?php
/*
 * Evaluacion sobre las operaciones de cursos
 */
require_once dirname(__FILE__).'/../bootstrap/unit.php';
$configuracion = ProjectConfiguration::getApplicationConfiguration('frontend', 'test', 'true');
new sfDatabaseManager($configuration);
Doctrine_Core::loadData(sfConfig::get('sf_test_dir').'/fixtures');

$cantidad_pruebas = 9;
$test = new lime_test($cantidad_pruebas);

$matematica = new Materia();
$matematica->setIdMateria(10);
$matematica->save();

$curso = new Curso();
$docente = new Docente();

$curso->setMateria($matematica);

$curso->setIdCurso(1);
    $docente->setIdUsuario(1);
    $docente->setEmail("a@hoo.com");
    $docente->setNombreUsuario("emmet");
$curso->setDocente($docente);
//$curso->setIdDocente($docente->getIdUsuario());
$docente->setNombre("Brown");
$docente->save();
$curso->save();
//$test->is($docente->getNombre(),"Brown");
$test->is($curso->getNombreDocente(), $docente->getNombre(),"Get nombre docente funcionando");

$curso->delete();
$matematica->delete();
$docente->delete();

$curso2 = new Curso();
$curso2->setIdCurso(25);
$curso2->setMateria($matematica);;
$test->is($curso2->getNombreDocente(), '(No hay docente)',"'No hay docente', detectado correctamente");

$alumno1 = new Alumno();
    $alumno1->setIdUsuario(20);
    $alumno1->setNombreUsuario("alu");
    $alumno1->setEmail("fa@ecampus.com");
$alumno2 = new Alumno();
    $alumno2->setIdUsuario(20);
    $alumno2->setNombreUsuario("bgg");
    $alumno2->setEmail("bfg@ecampus.com");
$alumno1->save();
$alumno2->save();

$mat = new Materia();
$mat->setIdMateria(77);
$mat->save();
$curso->setMateria($mat);
$curso->setIdCurso(27);
$curso->save();

$alumno1->inscribirEnCurso($curso);
$alumno2->inscribirEnCurso($curso);

$test->is($curso->cantidadDeAlumnos(), 2,"Cantidad de alumnos por curso OK");
$test->ok($alumno1->estaInscripto($curso),"Verificacion de Inscripcion correcta");
$test->ok($alumno2->estaInscripto($curso),"Verificacion de inscripcion correcta");
$test->ok($curso->tieneAlumnosAsignados(), "Tiene alumnos asignados: OK");
//comprobaciones sobre la eliminacion del curso
$test->ok(!$curso->sePuedeEliminar(),"Test 'curso no se puede eliminar': Ok");
$test->ok($curso->tieneAlumnosAsignados(), "El curso tiene alumnos asignados");

$alumno1->sacarDelCurso($curso);

$test->is($curso->cantidadDeAlumnos(), 1,"Eliminacion de alumno del curso: correcta");

//$publicacioncurso = new Publicacioncurso();
//$curso->setPublicacioncurso($publicacioncurso);
//$publicacioncurso->save();

$alumno2->sacarDelCurso($curso);
$curso->eliminar();
$alumno1->delete();
$alumno2->delete();
//

?>
